<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

    <f:view contentType="text/html">
        <h:head>
            <f:facet name="first">
                <meta content='text/html; charset=UTF-8' http-equiv="Content-Type"/>
                <title>PrimeFaces</title>
            </f:facet>
        </h:head>

        <h:body>

            <p:layout fullPage="true">

                <p:layoutUnit position="north" size="100" resizable="true" closable="true" collapsible="true">
                    Header
                </p:layoutUnit>

                <p:layoutUnit position="south" size="100" closable="true" collapsible="true">
                    Footer
                </p:layoutUnit>

                <p:layoutUnit position="west" size="175" header="Left" collapsible="true">
                    <h:form>
                    <p:menu>
                        <p:submenu label="Resources">
                            <p:menuitem value="Demo" url="http://www.primefaces.org/showcase-labs/ui/home.jsf" />
                            <p:menuitem value="Documentation" url="http://www.primefaces.org/documentation.html" />
                            <p:menuitem value="Forum" url="http://forum.primefaces.org/" />
                            <p:menuitem value="Themes" url="http://www.primefaces.org/themes.html" />

                        </p:submenu>

                    </p:menu>
                    </h:form>
                </p:layoutUnit>

                <p:layoutUnit position="center">
                    <h:form id="forma">                       
                        <p:growl id="growl" sticky="false" life="4000"/>
                        
                        <h:panelGrid columns="1" cellpadding="5">
                            <p:commandButton value="Nuevo" type="button" onclick="PF('dlg2').show();" />
                        </h:panelGrid>
                        
                        <p:dialog header="Inmueble" widgetVar="dlg2">
                            <p:panelGrid id="formulario">
                                <p:row>
                                    <p:column>
                                        <h:outputText value="Codigo:"/>
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="txtCodigo" required="true" binding="#{inmuebleVista.txtCodigo}"/>
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="Tipo"/>
                                    </p:column>
                                    <p:column>
                                        <p:selectOneMenu id="cmdTipo" required="true" binding="#{inmuebleVista.cmdTipoInmueble}">
                                            <f:selectItem itemLabel="Seleccione" itemValue=""/>
                                            <f:selectItems value="#{inmuebleVista.tipoInmueble}"/>
                                        </p:selectOneMenu>
                                    </p:column>
                                </p:row>
                                <p:row>
                                    <p:column>
                                        <h:outputText value="Barrio:"/>
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="txtBarrio" binding="#{inmuebleVista.txtBarrio}"/> 
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="Disponible:"/>
                                    </p:column>
                                    <p:column>
                                        <p:selectBooleanCheckbox binding="#{inmuebleVista.disponibilidad}" />
                                    </p:column> 
                                    
                                </p:row>
                                <p:row>
                                    <p:column>
                                        <h:outputText value="Dirección:"/>
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="txtDireccion" required="true" binding="#{inmuebleVista.txtDireccion}"/> 
                                    </p:column>
                                    
                                </p:row>
                                <p:row>
                                    <p:column>
                                        <h:outputText value="Cliente:"/>
                                    </p:column>
                                    <p:column>
                                             <p:inputText id="cliente" binding="#{inmuebleVista.txtCliente}"/> 
                                    </p:column>
                                    <p:column>
                                        <p:commandButton id="clienteBtn" value="Buscar" type="button" />
                                            <p:overlayPanel id="clientePanel" for="clienteBtn" hideEffect="fade" dynamic="true" showCloseIcon="true" style="width:600px">
                                                <p:dataTable var="cliente" value="#{inmuebleVista.listaClientes}" rows="5" 
                                                             paginator="true"
                                                             rowKey="#{cliente.cedulaCliente}"
                                                             selectionMode="single"
                                                             selection="#{inmuebleVista.selectCliente}">
                                                    <p:ajax event="rowSelect"
                                                            listener="#{inmuebleVista.clienteSeleccionado}"
                                                            update=":forma:cliente"/>
                                                    <p:column headerText="Cedula">
                                                        <h:outputText value="#{cliente.cedulaCliente}" />
                                                    </p:column>

                                                    <p:column headerText="Nombre">
                                                        <h:outputText value="#{cliente.nombres}" />
                                                    </p:column>

                                                    <p:column headerText="Apellido" sortBy="#{cliente.apellidos}">
                                                        <h:outputText value="#{cliente.apellidos}" />
                                                    </p:column>

                                                </p:dataTable>
                                            </p:overlayPanel>
                                    </p:column>
                                </p:row>
                                <p:row>
                                    <p:column>
                                        <h:outputText value="Descripción:"/>
                                    </p:column>
                                    <p:column>
                                        <p:inputTextarea id="descripcion" binding="#{inmuebleVista.areaDescripcion}" rows="5" cols="22" autoResize="false" />
                                    </p:column>
                                </p:row>
                                <p:row>
                                    <p:column>
                                        <p:commandButton id="crearButton"  value="Registrar" binding="#{inmuebleVista.btnRegistrar}" 
                                                         action="#{inmuebleVista.registrar}" update="growl,formulario,tabla"
                                                         oncomplete="PF('dlg2').hide();"/>
                                    </p:column>
                                    <p:column>
                                        <p:commandButton id="modificarButton"  value="Modificar" disabled="true" binding="#{inmuebleVista.btnModificar}" 
                                                         action="#{inmuebleVista.modificar}" update="growl,formulario,tabla"
                                                         oncomplete="PF('dlg2').hide();"/>
                                    </p:column>
                                    <p:column>
                                        <p:commandButton id="eliminarButton" value="Eliminar" disabled="true" binding="#{inmuebleVista.btnEliminar}" 
                                                         actionListener="#{inmuebleVista.eliminar}" update="growl,formulario,tabla"
                                                         oncomplete="PF('dlg2').hide();">
                                            <p:confirm header="Confirmación" message="¿Está seguro que desea eliminar este cliente?" icon="ui-icon-alert" />
                                        </p:commandButton>
                                        <p:confirmDialog global="true" showEffect="fade">
                                            <p:commandButton value="Si" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
                                            <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
                                        </p:confirmDialog>
                                    </p:column>
                                    <p:column>
                                        <p:commandButton id="limpiarButton" value="Limpiar" binding="#{inmuebleVista.btnLimpiar}" 
                                                         action="#{inmuebleVista.limpiar}" update="formulario,tabla"/>
                                    </p:column>
                                </p:row>
                            </p:panelGrid>
                        </p:dialog>
                        
                        <p:dataTable id="tabla" var="inmueble" value="#{inmuebleVista.listaInmuebles}" rows="10"
                                     paginator="true"
                                     paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                     rowKey="#{inmueble.codigoInmueble}"
                                     selectionMode="single"
                                     selection="#{inmuebleVista.selectInmueble}">
                            <p:ajax event="rowSelect"
                                    listener="#{inmuebleVista.inmuebleSeleccionado}"
                                    update=":forma:formulario"
                                    oncomplete="PF('dlg2').show();"/>  
                            <p:column headerText="Codigo">
                                <h:outputText value="#{inmueble.codigoInmueble}" />
                            </p:column>

                            <p:column headerText="Barrio">
                                <h:outputText value="#{inmueble.barrio}" />
                            </p:column>

                            <p:column headerText="Dirección">
                                <h:outputText value="#{inmueble.direccion}" />
                            </p:column>
                                                                                                             
                            <p:column headerText="Tipo">
                               <h:outputText value="#{inmueble.codTipoInmueble.nombreTipo}" />
                           </p:column>
                            <p:column headerText="Disponibilidad">
                               <p:selectBooleanCheckbox disabled="true" value="#{inmueble.disponibilidad}" />
                            </p:column>
                        </p:dataTable>
                    </h:form>
                </p:layoutUnit>

            </p:layout>

        </h:body>

    </f:view>
</html>

